1639d7bb7b7f6e00f6404ea74c237a4cbf01c247,h2o-core/src/main/java/water/util/LinuxProcFileReader.java,LinuxProcFileReader,parseProcessStatusFile,#String#,349

Before Change


  private void parseProcessStatusFile(String s) {
    if(s == null) return;
    try {
      Pattern p = Pattern.compile("Cpus_allowed:\\s+([A-Fa-f0-9,]+)");
      Matcher m = p.matcher(s);
      boolean b = m.find();
      if (! b) {
        return;
      }
      _processCpusAllowed = numSetBitsHex(m.group(1));
    }
    catch (Exception ignore) {}
  }

After Change


    try { return pid== -1 ? null : readFile(new File("/proc/"+pid+"/status")); }
    catch( IOException _ ) { return null; }
  }
  private static int parseProcessStatusFile(String s) {
    int cpus = Runtime.getRuntime().availableProcessors();
    if(s == null) return cpus;
    try {
      Matcher m = Pattern.compile("Cpus_allowed:\\s+([A-Fa-f0-9,]+)").matcher(s);
      return m.find() ? numSetBitsHex(m.group(1)) : cpus;
    }
    catch( Exception ignore ) { return cpus; }
  }